1
Passage à la vision par ordinateur : pourquoi les réseaux de neurones convolutifs ?
EvoClass-AI002Cours 4
00:00

Passage à la vision par ordinateur

Nous passons aujourd'hui du traitement de données simples et structurées à l'aide de couches linéaires basiques au défi des données d'image à haute dimension. Une seule image en couleur introduit une complexité considérable que les architectures standards ne peuvent pas gérer efficacement. L'apprentissage profond pour la vision nécessite une approche spécialisée : le réseau de neurones convolutif (CNN).

1. Pourquoi les réseaux entièrement connectés (FCN) échouent

Dans un FCN, chaque pixel d'entrée doit être connecté à chaque neurone de la couche suivante. Pour les images haute résolution, cela entraîne une explosion computationnelle, rendant l'entraînement impossible et la généralisation médiocre à cause d'un surapprentissage extrême.

  • Dimension d'entrée : Une image RGB standard de $224 \times 224$ donne lieu à $150\,528$ caractéristiques d'entrée ($224 \times 224 \times 3$).
  • Taille de la couche cachée : Si la première couche cachée utilise 1 024 neurones.
  • Nombre total de paramètres (couche 1) : $\approx 154$ millions de poids ($150\,528 \times 1024$) uniquement pour le premier bloc de connexion, ce qui nécessite une mémoire et un temps de calcul massifs.
La solution CNN
Les CNN résolvent le problème de mise à l'échelle des FCN en exploitant la structure spatiale des images. Ils identifient des motifs (comme des bords ou des courbes) à l'aide de petits filtres, réduisant le nombre de paramètres de plusieurs ordres de grandeur et favorisant la robustesse.
comparison.py
TERMINALbash — model-env
> Prêt. Cliquez sur « Exécuter » pour lancer.
>
INSPECTEUR D'EFFICACITÉ DES PARAMÈTRESEn direct

Exécutez la comparaison pour visualiser le nombre de paramètres.
Question 1
Quel est le principal avantage de l'utilisation de champs réceptifs locaux dans les CNN ?
Les filtres se concentrent uniquement sur une petite région localisée de l'image d'entrée.
Cela permet au réseau de traiter toute l'image globalement en une seule fois.
Cela garantit que tous les paramètres sont initialisés à zéro.
Cela supprime la nécessité de fonctions d'activation.
Question 2
Si un filtre $3 \times 3$ est appliqué sur toute l'image, quel concept central du CNN est mis en œuvre ?
Normalisation du noyau
Poids partagés
Connectivité complète
Transposition des caractéristiques
Question 3
Quel composant du CNN est responsable de la réduction progressive des dimensions spatiales (largeur et hauteur) des cartes de caractéristiques ?
Activation ReLU
Couches de pooling (sous-échantillonnage)
Normalisation par lot
Défi : Identifier les composants clés des CNN
Reliez les mécanismes des CNN à leurs avantages fonctionnels.
Nous devons construire un modèle de vision très efficace en termes de paramètres et capable de reconnaître un objet même s'il se déplace légèrement dans l'image.
Étape 1
Quel mécanisme garantit que le réseau peut identifier une caractéristique (comme une ligne diagonale), quel que soit son emplacement dans l'image ?
Solution :
Poids partagés. En utilisant le même filtre à toutes les positions, le réseau apprend l'invariance translationnelle.
Étape 2
Quel choix architectural permet à un CNN de détecter des caractéristiques avec moins de paramètres qu’un FCN ?
Solution :
Champs réceptifs locaux (ou connectivité creuse). Au lieu de se connecter à chaque pixel, chaque neurone ne se connecte qu'à une petite région localisée de l'entrée.
Étape 3
Comment la structure du CNN conduit-elle à un apprentissage hiérarchique des caractéristiques (par exemple, bords → coins → objets) ?
Solution :
Couches empilées. Les premières couches apprennent des caractéristiques simples (bords) grâce à la convolution. Les couches plus profondes combinent les sorties des couches précédentes pour former des caractéristiques complexes et abstraites (objets).